A color imaging device (e.g., an optical scanner) produces color image data signals representative of an object or document being scanned by projecting an image of the object or document onto a photosensitive detector array. The color image data signals may then be digitized and/or stored for later use. For example, the color image data signals may be used by a personal computer to produce an image of the scanned object on a suitable display device, such as a CRT. Alternatively, the color image data may be printed on a color printer.
A typical imaging device (e.g., an optical scanner), includes illumination and optical systems to illuminate the object and focus a small area of the illuminated object, usually referred to as a "scan line," onto the surface of a photosensitive detector positioned within the scanner. Image data representative of the entire object may then be obtained by sweeping the illuminated scan line across the entire object, either by moving the object with respect to the illumination and optical assemblies or by moving the illumination and optical assemblies relative to the object. The illumination system may include a suitable white light source (e.g., a fluorescent or incandescent lamp) to illuminate the object, whereas the optical system may include a lens assembly to focus the image of the illuminated scan line onto the surface of the detector.
The photosensitive detector array may comprise a charge-coupled device (CCD), although other devices may also be used. A typical CCD may comprise a large number of individual cells or "pixels," each of which collects or builds-up an electrical charge in response to exposure to light. Since the size of the accumulated electrical charge in any given cell or pixel is related to the intensity and duration of the light exposure, a CCD may be used to detect light and dark spots on an image focused thereon. In a typical scanner application, the charge built up in each of the CCD cells or pixels is measured and then discharged at regular intervals known as sampling intervals, which may be about 5 milliseconds or so for a typical scanner, although other sampling intervals may be used.
The term "image light" as used herein refers to the light that is focused onto the surface of the detector array by the lens assembly. Depending on the type of scanner, the image light may be reflected from the document or object being scanned or it may be transmitted through the object or document. The image light is converted into digital signals in essentially three steps. First, each pixel in the detector converts the light it receives into an electric charge. Second, the charges from the pixels are converted into analog voltages by an analog amplifier. Finally, the analog voltages are digitized by the analog-to-digital (A/D) converter. These digital signals may then be processed and/or stored as desired.
Color optical scanners usually operate by collecting multiple color component images of the object being scanned. For example, data representative of red, green, and blue color components of the image light may be produced by the scanner apparatus. The particular color components, e.g., red, green, and blue, are commonly referred to as primary colors, primary stimuli, or simply, primaries. As is well-known, various combinations of three such primary colors can be used to produce any color stimulus contained within the gamut of colors on the CIE chromaticity diagram that lie within the triangle of primaries. The amounts of each primary color required to match a particular color stimulus are referred to as tristimulus values. Written mathematically: EQU C.tbd.r(R)+g(G)+b(B)
Put in other words, a given color stimulus C (e.g., the color of a given pixel) can be matched by r units of primary stimulus R (red), g units of primary stimulus G (green), and b units of primary stimulus B (blue). All the different physical stimuli that look the same as the given color stimulus C will have the same three tristimulus values r, g, and b. Thus, it is possible to match a color stimulus by a mixture of three primary colors or stimuli, with the tristimulus values r, g, and b determining the required amount of each primary color. It is important to keep in mind that the foregoing method will only achieve psychophysical color match (i.e., the color will appear the same to the human eye), as opposed to a physical or spectral match.
Many different techniques may be used to collect data representative of the multiple color component images (i.e., the tristimulus values) of the object being scanned. One technique is to project the image of the illuminated scan line onto a single linear detector array. The multiple color component images (i.e., the tristimulus values) of the illuminated scan line may be collected by illuminating the object being scanned with a different color light source (a primary) on each of three successive scans. For example, the object first may be scanned using only red light, then only green light, and finally only blue light. The output signal from the detector for each color thus represents the tristimulus value for that color. In a variation of this technique, three scanning passes may be made using a white light source, but the image light from each scan is filtered by a different color filter before being focused onto the optical detector array. Either way, the tristimulus values for the primaries (i.e., the red, green, and blue colors) may be determined from the output signals from the detector.
Another technique, described in U.S. Pat. No. 4,709,144 issued to Vincent and U.S. Pat. No. 4,926,041, issued to Boyd, et al., both of which are hereby specifically incorporated by reference for all that is disclosed therein, is to split the image light comprising the scan line into multiple color component beams, each of which is then focused onto a separate linear detector array. For example, the image light comprising the scan line may be split into red, green, and blue color component portions which are then simultaneously projected onto three separate linear detector arrays. The output from each detector array represents the tristimulus value for the corresponding primary. This technique allows the tristimulus values from any particular scan line to be generated simultaneously, thus allowing easier correlation of the image data for each separate primary.
Regardless of the particular technique used to collect the tristimulus values, one factor that affects the color balance and overall quality of the scanned image is the illumination resolution of the scanner. Essentially, the illumination resolution is a measure of the number of different intensity levels that can be detected and recorded by the scanner. For example, an image scanner utilizing an 8-bit analog-to-digital (A/D) converter to convert the analog signals from the detector array into corresponding digital signals is capable of representing 256 different intensity levels. The A/D converter returns a maximum value of 255 for a maximum intensity or "white" pixel and a minimum value of 0 for a minimum intensity or "black" pixel. Accordingly, a scanner's "white intercept" or "white point," is the intensity of image light that results in a full scale output from the analog-to-digital (A/D) converter of the scanner. Similarly, the "black intercept" or "black point" is the intensity of the image light (neglecting noise) at which the A/D converter returns a value of zero. Image light having an intensity of 50% of the white intercept value will cause the 8-bit A/D converter to return a value of 127. Therefore, the bit depth of the A/D converter and the difference between the white and black intercepts determines the tonal resolution of the scanner.
Unfortunately, however, it is common that a majority of the scanned image only utilizes a portion of the tonal (i.e., illumination) resolution of the scanner. For example, a very dark image (e.g., an image comprising a majority of pixels having from between 0% and 50% reflectance) does not fully utilize the values set aside for regions of the image having 50% to 100% reflectance. That is, since the intensity values are linearly spaced, the same number of intensity values is set aside for the dark regions as for the light regions.
The foregoing intensity resolution problem exists in both monochrome (i.e., black and white) as well as color scanners, except that in a color scanner the problem exists with respect to each of the separate color components. Consequently, scanned images, particularly dark ones, suffer from quantization effects due to the limited number of digital levels used in the scan.
One method for reducing the quantization effects due to the limited number of digital intensity levels is to expand the brightness sensitivity in some parts of the reflectance space (e.g., the dark regions) and to compress other parts of the reflectance space (e.g., the light regions). This is referred to herein as tonal correction. One example of such tonal correction is "gamma correction" in which the image data are transformed in accordance with a predetermined, usually non-linear, transfer function. Besides reducing quantization effects, such gamma correction techniques can also improve overall color balance of the scanned image by more closely matching the image characteristics with those of the receptors of the human eye.
Tonal correction is typically applied to image data by using a look-up table stored in the memory system (e.g., RAM) associated with the scanner. Since the amount of RAM is limited, most scanners utilize only a single look-up table. With regard to color scanners, the use of a single look-up table can result in undesired color shifting which is typically manifested as a reduction in the color fidelity of the image. The use of a single look-up table also cannot correct for variations in spectral sensitivity of the detector array or for variations in the colored lights or colored filters used to derive the three color components (e.g., red, green, and blue) of the image. The memory limitation also typically limits the resolution of the look-up table. For example, most image scanners utilize an 8-bit to 8-bit look-up table which transforms or re-maps each of the 256 intensity levels to a new level, again spread over 256 levels. However, since adjacent levels in areas that are being expanded will now be mapped into output levels that are separated by most likely a few levels, several possible output levels will be skipped, which can cause objectionable contouring effects in the resulting image.
While it is possible to provide such color correction in the image editing software resident on the host computer, it is usually disadvantageous to do so. For example, many scanners internally represent the scanned image data in 10 or 12 bit words. However, since most host computers will only accept input data having 8-bit words, the scanner will re-format the image data into 8-bit words before sending it to the host computer. As a result, much information is lost, decreasing the resolution of the image data. Accordingly, any subsequent image processing operations will be limited by the resolution of the 8-bit image data.
Consequently, there is a need for an improved method and apparatus for applying tonal correction to color image scanners. Such an improved method and apparatus should be capable of applying several different tonal correction functions to the image data to compensate for varying spectral sensitivity of the detector array and to compensate for non-linearities in the receptors of the human eye, but without significantly increasing the amount of memory or processing capacity required to apply the tonal correction. Additional advantages could be realized if such tonal correction could be performed without producing its own distortions and quantization effects due to limited resolution of the look-up table.